<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ArNetworking: ArServerUserInfo Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ArNetworking
   &#160;<span id="projectnumber">dev20180125</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArServerUserInfo.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArServerUserInfo-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArServerUserInfo Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>This class holds information about users and loads it from a file.  
 <a href="classArServerUserInfo.html#details">More...</a></p>

<p><code>#include &lt;ArServerUserInfo.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a914e17b9c381213015ca25eab3a36887"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a914e17b9c381213015ca25eab3a36887">ArServerUserInfo</a> (const char *baseDirectory=NULL)</td></tr>
<tr class="memdesc:a914e17b9c381213015ca25eab3a36887"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a914e17b9c381213015ca25eab3a36887">More...</a><br /></td></tr>
<tr class="separator:a914e17b9c381213015ca25eab3a36887"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d897e4ce5b7ccf23847d8255d8503fe"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a3d897e4ce5b7ccf23847d8255d8503fe">doNotUse</a> (void) const </td></tr>
<tr class="separator:a3d897e4ce5b7ccf23847d8255d8503fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a793e994d3ae5ee6664ac4fd6a2cc9a3c"><td class="memItemLeft" align="right" valign="top">std::set&lt; std::string, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/structArStrCaseCmpOp.html">ArStrCaseCmpOp</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a793e994d3ae5ee6664ac4fd6a2cc9a3c">getUsersGroups</a> (const char *user) const </td></tr>
<tr class="memdesc:a793e994d3ae5ee6664ac4fd6a2cc9a3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the groups a user is in (returns empty set if no user)  <a href="#a793e994d3ae5ee6664ac4fd6a2cc9a3c">More...</a><br /></td></tr>
<tr class="separator:a793e994d3ae5ee6664ac4fd6a2cc9a3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e5f29a70959a85a6f3c384baff8ce46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a4e5f29a70959a85a6f3c384baff8ce46">logUsers</a> (void) const </td></tr>
<tr class="memdesc:a4e5f29a70959a85a6f3c384baff8ce46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the users and groups.  <a href="#a4e5f29a70959a85a6f3c384baff8ce46">More...</a><br /></td></tr>
<tr class="separator:a4e5f29a70959a85a6f3c384baff8ce46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37d5f2dea39ea96eadd406aa92b29f29"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a37d5f2dea39ea96eadd406aa92b29f29">matchUserPassword</a> (const char *user, unsigned char password[16], const char *passwordKey, const char *serverKey, bool logFailureVerbosely=false) const </td></tr>
<tr class="memdesc:a37d5f2dea39ea96eadd406aa92b29f29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Matchs a user and password, false if user or password is wrong.  <a href="#a37d5f2dea39ea96eadd406aa92b29f29">More...</a><br /></td></tr>
<tr class="separator:a37d5f2dea39ea96eadd406aa92b29f29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44558263a89c9482c4da7deacb9c236e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a44558263a89c9482c4da7deacb9c236e">readFile</a> (const char *fileName)</td></tr>
<tr class="memdesc:a44558263a89c9482c4da7deacb9c236e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads the file, returns false if it wasn't there.  <a href="#a44558263a89c9482c4da7deacb9c236e">More...</a><br /></td></tr>
<tr class="separator:a44558263a89c9482c4da7deacb9c236e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad62b576bf7e929d14a02d09ea4f440a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#ad62b576bf7e929d14a02d09ea4f440a6">setBaseDirectory</a> (const char *baseDirectory)</td></tr>
<tr class="memdesc:ad62b576bf7e929d14a02d09ea4f440a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the base directory.  <a href="#ad62b576bf7e929d14a02d09ea4f440a6">More...</a><br /></td></tr>
<tr class="separator:ad62b576bf7e929d14a02d09ea4f440a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24320d985f1094448204578f47c884ec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a24320d985f1094448204578f47c884ec">~ArServerUserInfo</a> ()</td></tr>
<tr class="memdesc:a24320d985f1094448204578f47c884ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a24320d985f1094448204578f47c884ec">More...</a><br /></td></tr>
<tr class="separator:a24320d985f1094448204578f47c884ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ac0aa7076836d7400074936807377b456"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#ac0aa7076836d7400074936807377b456">logDigest</a> (unsigned char digest[16]) const </td></tr>
<tr class="separator:ac0aa7076836d7400074936807377b456"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0680cb3ba9bd62afede7c9d8e60611e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a0680cb3ba9bd62afede7c9d8e60611e5">removeHandlers</a> (void)</td></tr>
<tr class="separator:a0680cb3ba9bd62afede7c9d8e60611e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf03d31844f20aa3f6736886d35c91fd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#acf03d31844f20aa3f6736886d35c91fd">v1DoNotUseCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> *arg)</td></tr>
<tr class="separator:acf03d31844f20aa3f6736886d35c91fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa809f074294aabeaa1a52b7d870beb0c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#aa809f074294aabeaa1a52b7d870beb0c">v1HeaderCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> *arg)</td></tr>
<tr class="separator:aa809f074294aabeaa1a52b7d870beb0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae8853a452546b65793b514a9c25e753"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#aae8853a452546b65793b514a9c25e753">v1UserCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> *arg)</td></tr>
<tr class="separator:aae8853a452546b65793b514a9c25e753"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a0ae63b7b7ea79dc7761fe2a7d2e48706"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a0ae63b7b7ea79dc7761fe2a7d2e48706">myBaseDirectory</a></td></tr>
<tr class="separator:a0ae63b7b7ea79dc7761fe2a7d2e48706"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa32dd13114d24196ec59be2d37fb9043"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#aa32dd13114d24196ec59be2d37fb9043">myDataMutex</a></td></tr>
<tr class="separator:aa32dd13114d24196ec59be2d37fb9043"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0c1d3eeb57e7c8e2ea9b244141ef297"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#af0c1d3eeb57e7c8e2ea9b244141ef297">myDoNotUse</a></td></tr>
<tr class="separator:af0c1d3eeb57e7c8e2ea9b244141ef297"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a300c1ec68448804dd6e1c62f5ac02f6e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a300c1ec68448804dd6e1c62f5ac02f6e">myGotHeader</a></td></tr>
<tr class="separator:a300c1ec68448804dd6e1c62f5ac02f6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcca5d5fd6bfb67fa9d26fb5385a2fa7"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, std::set&lt; std::string, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/structArStrCaseCmpOp.html">ArStrCaseCmpOp</a> &gt; *, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/structArStrCaseCmpOp.html">ArStrCaseCmpOp</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#abcca5d5fd6bfb67fa9d26fb5385a2fa7">myGroups</a></td></tr>
<tr class="separator:abcca5d5fd6bfb67fa9d26fb5385a2fa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d7b1d7dbeb00b5996721264f1b98f6e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a8d7b1d7dbeb00b5996721264f1b98f6e">myLogFailureVerbosely</a></td></tr>
<tr class="separator:a8d7b1d7dbeb00b5996721264f1b98f6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47c1415e4348cb1ce232364d0ff53611"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFileParser.html">ArFileParser</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a47c1415e4348cb1ce232364d0ff53611">myParser</a></td></tr>
<tr class="separator:a47c1415e4348cb1ce232364d0ff53611"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a908233d3b7fa64940cd15afabc813674"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, std::string, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/structArStrCaseCmpOp.html">ArStrCaseCmpOp</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a908233d3b7fa64940cd15afabc813674">myPasswords</a></td></tr>
<tr class="separator:a908233d3b7fa64940cd15afabc813674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d945b840dcbd17ba7e70e030208aa74"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor1C.html">ArRetFunctor1C</a>&lt; bool, <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a3d945b840dcbd17ba7e70e030208aa74">myV1DoNotUseCB</a></td></tr>
<tr class="separator:a3d945b840dcbd17ba7e70e030208aa74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a1501fa978a0841f3a68a0fffac591f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor1C.html">ArRetFunctor1C</a>&lt; bool, <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#a6a1501fa978a0841f3a68a0fffac591f">myV1HeaderCB</a></td></tr>
<tr class="separator:a6a1501fa978a0841f3a68a0fffac591f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2bfde5e78bdfff789309c41c76f270d"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor1C.html">ArRetFunctor1C</a>&lt; bool, <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerUserInfo.html#ad2bfde5e78bdfff789309c41c76f270d">myV1UserCB</a></td></tr>
<tr class="separator:ad2bfde5e78bdfff789309c41c76f270d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class holds information about users and loads it from a file. </p>
<p>For a description of the algorithm used to match passwords and keys and all look at the documentation for <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a>.</p>
<p>The file format for this class is set up to be easy to make a new version of and yet read all the old versions.</p>
<p>For all of the versions everything after ; or # is ignored. The version information is then the first line of non comments.</p>
<p>The first version is described as such: The version string is '<code>UserInfoVersion1</code>'. Then there are lines that follow for each user which are '<code>user</code> <em>userName password groups</em>'. The passwords are plain text in the file, though they aren't sent that way over the network (look at <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a> docs for details). To display the groups available use <a class="el" href="classArServerBase.html#a0e2f0ad76f564c13ec128cf0e540a89a" title="Logs the groups and commands in those groups. ">ArServerBase::logCommandGroups()</a>.</p>
<p>There is an example user info file in ArNetworking/examples/serverDemo.userInfo </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a914e17b9c381213015ca25eab3a36887"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArServerUserInfo::ArServerUserInfo </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>baseDirectory</em> = <code>NULL</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>

<p>References <a class="el" href="classArServerUserInfo.html#aa32dd13114d24196ec59be2d37fb9043">myDataMutex</a>, <a class="el" href="classArServerUserInfo.html#af0c1d3eeb57e7c8e2ea9b244141ef297">myDoNotUse</a>, <a class="el" href="classArServerUserInfo.html#a300c1ec68448804dd6e1c62f5ac02f6e">myGotHeader</a>, <a class="el" href="classArServerUserInfo.html#a8d7b1d7dbeb00b5996721264f1b98f6e">myLogFailureVerbosely</a>, <a class="el" href="classArServerUserInfo.html#a47c1415e4348cb1ce232364d0ff53611">myParser</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFileParser.html#a5fd276fae4c5c56dda18a4c8446d4368">ArFileParser::setBaseDirectory()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a00069ede1325b6f9f500ef2636858262">ArMutex::setLogName()</a>.</p>

</div>
</div>
<a class="anchor" id="a24320d985f1094448204578f47c884ec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArServerUserInfo::~ArServerUserInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a3d897e4ce5b7ccf23847d8255d8503fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerUserInfo::doNotUse </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerUserInfo.html#af0c1d3eeb57e7c8e2ea9b244141ef297">myDoNotUse</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#aef5119d875e72544bb13957f0b0b5bfc">ArServerBase::loadUserInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="a793e994d3ae5ee6664ac4fd6a2cc9a3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::set&lt; std::string, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/structArStrCaseCmpOp.html">ArStrCaseCmpOp</a> &gt; ArServerUserInfo::getUsersGroups </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>user</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the groups a user is in (returns empty set if no user) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerUserInfo.html#abcca5d5fd6bfb67fa9d26fb5385a2fa7">myGroups</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a4e5f29a70959a85a6f3c384baff8ce46">logUsers()</a>, and <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">ArServerClient::processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ac0aa7076836d7400074936807377b456"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerUserInfo::logDigest </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>digest</em>[16]</td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a37d5f2dea39ea96eadd406aa92b29f29">matchUserPassword()</a>.</p>

</div>
</div>
<a class="anchor" id="a4e5f29a70959a85a6f3c384baff8ce46"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerUserInfo::logUsers </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs the users and groups. </p>

<p>References <a class="el" href="classArServerUserInfo.html#a793e994d3ae5ee6664ac4fd6a2cc9a3c">getUsersGroups()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerUserInfo.html#af0c1d3eeb57e7c8e2ea9b244141ef297">myDoNotUse</a>, <a class="el" href="classArServerUserInfo.html#a908233d3b7fa64940cd15afabc813674">myPasswords</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#ab9b40f639c195d97ed2948a1a0407988">ArServerBase::logUserInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="a37d5f2dea39ea96eadd406aa92b29f29"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerUserInfo::matchUserPassword </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>user</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>password</em>[16], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>passwordKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>serverKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>logFailureVerbosely</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Matchs a user and password, false if user or password is wrong. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#a0b9f925549544be43f8da80f28ead05d">ArUtil::isOnlyAlphaNumeric()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerUserInfo.html#ac0aa7076836d7400074936807377b456">logDigest()</a>, <a class="el" href="md5_8cpp.html#a345851d2511c7174fdbf953588e4f85d">md5_append()</a>, <a class="el" href="md5_8cpp.html#af926e22dea5f31719375681662188fac">md5_finish()</a>, <a class="el" href="md5_8cpp.html#a92b88e6e65a2f3a2db4ab6ae8cc9ad54">md5_init()</a>, <a class="el" href="classArServerUserInfo.html#a908233d3b7fa64940cd15afabc813674">myPasswords</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#aa0936247fefc5b0705d637dad37a8c54">ArServerClient::processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a44558263a89c9482c4da7deacb9c236e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerUserInfo::readFile </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fileName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Loads the file, returns false if it wasn't there. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFileParser.html#ae9685e3b4f3ed5bbd0f7107ab9d81122">ArFileParser::addHandler()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#a2d327400c6ebecc3b6f1c2ce35df1c74">ArUtil::deleteSetPairs()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerUserInfo.html#aa32dd13114d24196ec59be2d37fb9043">myDataMutex</a>, <a class="el" href="classArServerUserInfo.html#a300c1ec68448804dd6e1c62f5ac02f6e">myGotHeader</a>, <a class="el" href="classArServerUserInfo.html#abcca5d5fd6bfb67fa9d26fb5385a2fa7">myGroups</a>, <a class="el" href="classArServerUserInfo.html#a47c1415e4348cb1ce232364d0ff53611">myParser</a>, <a class="el" href="classArServerUserInfo.html#a908233d3b7fa64940cd15afabc813674">myPasswords</a>, <a class="el" href="classArServerUserInfo.html#a6a1501fa978a0841f3a68a0fffac591f">myV1HeaderCB</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFileParser.html#a54539be017dc61f50eac8ae5983ead91">ArFileParser::parseFile()</a>, <a class="el" href="classArServerUserInfo.html#a0680cb3ba9bd62afede7c9d8e60611e5">removeHandlers()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#aef5119d875e72544bb13957f0b0b5bfc">ArServerBase::loadUserInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="a0680cb3ba9bd62afede7c9d8e60611e5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerUserInfo::removeHandlers </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerUserInfo.html#a47c1415e4348cb1ce232364d0ff53611">myParser</a>, <a class="el" href="classArServerUserInfo.html#a6a1501fa978a0841f3a68a0fffac591f">myV1HeaderCB</a>, <a class="el" href="classArServerUserInfo.html#ad2bfde5e78bdfff789309c41c76f270d">myV1UserCB</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFileParser.html#a809de3588ef4abe66b31352d526824aa">ArFileParser::remHandler()</a>.</p>

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a44558263a89c9482c4da7deacb9c236e">readFile()</a>, and <a class="el" href="classArServerUserInfo.html#aa809f074294aabeaa1a52b7d870beb0c">v1HeaderCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ad62b576bf7e929d14a02d09ea4f440a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerUserInfo::setBaseDirectory </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>baseDirectory</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the base directory. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerUserInfo.html#aa32dd13114d24196ec59be2d37fb9043">myDataMutex</a>, <a class="el" href="classArServerUserInfo.html#a47c1415e4348cb1ce232364d0ff53611">myParser</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFileParser.html#a5fd276fae4c5c56dda18a4c8446d4368">ArFileParser::setBaseDirectory()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#aef5119d875e72544bb13957f0b0b5bfc">ArServerBase::loadUserInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="acf03d31844f20aa3f6736886d35c91fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerUserInfo::v1DoNotUseCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> *&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerUserInfo.html#af0c1d3eeb57e7c8e2ea9b244141ef297">myDoNotUse</a>.</p>

</div>
</div>
<a class="anchor" id="aa809f074294aabeaa1a52b7d870beb0c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerUserInfo::v1HeaderCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> *&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFileParser.html#ae9685e3b4f3ed5bbd0f7107ab9d81122">ArFileParser::addHandler()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerUserInfo.html#af0c1d3eeb57e7c8e2ea9b244141ef297">myDoNotUse</a>, <a class="el" href="classArServerUserInfo.html#a300c1ec68448804dd6e1c62f5ac02f6e">myGotHeader</a>, <a class="el" href="classArServerUserInfo.html#a47c1415e4348cb1ce232364d0ff53611">myParser</a>, <a class="el" href="classArServerUserInfo.html#a3d945b840dcbd17ba7e70e030208aa74">myV1DoNotUseCB</a>, <a class="el" href="classArServerUserInfo.html#ad2bfde5e78bdfff789309c41c76f270d">myV1UserCB</a>, <a class="el" href="classArServerUserInfo.html#a0680cb3ba9bd62afede7c9d8e60611e5">removeHandlers()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

</div>
</div>
<a class="anchor" id="aae8853a452546b65793b514a9c25e753"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerUserInfo::v1UserCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> *&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html#a54398df165b38457a14168bfb5285645">ArArgumentBuilder::getArg()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html#a42fb3acfb7ebbd419a888fff9ebbb147">ArArgumentBuilder::getArgc()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#a0b9f925549544be43f8da80f28ead05d">ArUtil::isOnlyAlphaNumeric()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerUserInfo.html#abcca5d5fd6bfb67fa9d26fb5385a2fa7">myGroups</a>, <a class="el" href="classArServerUserInfo.html#a908233d3b7fa64940cd15afabc813674">myPasswords</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a0ae63b7b7ea79dc7761fe2a7d2e48706"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerUserInfo::myBaseDirectory</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa32dd13114d24196ec59be2d37fb9043"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerUserInfo::myDataMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a914e17b9c381213015ca25eab3a36887">ArServerUserInfo()</a>, <a class="el" href="classArServerUserInfo.html#a44558263a89c9482c4da7deacb9c236e">readFile()</a>, and <a class="el" href="classArServerUserInfo.html#ad62b576bf7e929d14a02d09ea4f440a6">setBaseDirectory()</a>.</p>

</div>
</div>
<a class="anchor" id="af0c1d3eeb57e7c8e2ea9b244141ef297"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerUserInfo::myDoNotUse</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a914e17b9c381213015ca25eab3a36887">ArServerUserInfo()</a>, <a class="el" href="classArServerUserInfo.html#a3d897e4ce5b7ccf23847d8255d8503fe">doNotUse()</a>, <a class="el" href="classArServerUserInfo.html#a4e5f29a70959a85a6f3c384baff8ce46">logUsers()</a>, <a class="el" href="classArServerUserInfo.html#acf03d31844f20aa3f6736886d35c91fd">v1DoNotUseCallback()</a>, and <a class="el" href="classArServerUserInfo.html#aa809f074294aabeaa1a52b7d870beb0c">v1HeaderCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a300c1ec68448804dd6e1c62f5ac02f6e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerUserInfo::myGotHeader</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a914e17b9c381213015ca25eab3a36887">ArServerUserInfo()</a>, <a class="el" href="classArServerUserInfo.html#a44558263a89c9482c4da7deacb9c236e">readFile()</a>, and <a class="el" href="classArServerUserInfo.html#aa809f074294aabeaa1a52b7d870beb0c">v1HeaderCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="abcca5d5fd6bfb67fa9d26fb5385a2fa7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;std::string, std::set&lt;std::string, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/structArStrCaseCmpOp.html">ArStrCaseCmpOp</a>&gt; *, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/structArStrCaseCmpOp.html">ArStrCaseCmpOp</a>&gt; ArServerUserInfo::myGroups</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a793e994d3ae5ee6664ac4fd6a2cc9a3c">getUsersGroups()</a>, <a class="el" href="classArServerUserInfo.html#a44558263a89c9482c4da7deacb9c236e">readFile()</a>, and <a class="el" href="classArServerUserInfo.html#aae8853a452546b65793b514a9c25e753">v1UserCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a8d7b1d7dbeb00b5996721264f1b98f6e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerUserInfo::myLogFailureVerbosely</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a914e17b9c381213015ca25eab3a36887">ArServerUserInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="a47c1415e4348cb1ce232364d0ff53611"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFileParser.html">ArFileParser</a> ArServerUserInfo::myParser</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a914e17b9c381213015ca25eab3a36887">ArServerUserInfo()</a>, <a class="el" href="classArServerUserInfo.html#a44558263a89c9482c4da7deacb9c236e">readFile()</a>, <a class="el" href="classArServerUserInfo.html#a0680cb3ba9bd62afede7c9d8e60611e5">removeHandlers()</a>, <a class="el" href="classArServerUserInfo.html#ad62b576bf7e929d14a02d09ea4f440a6">setBaseDirectory()</a>, and <a class="el" href="classArServerUserInfo.html#aa809f074294aabeaa1a52b7d870beb0c">v1HeaderCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a908233d3b7fa64940cd15afabc813674"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;std::string, std::string, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/structArStrCaseCmpOp.html">ArStrCaseCmpOp</a>&gt; ArServerUserInfo::myPasswords</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a4e5f29a70959a85a6f3c384baff8ce46">logUsers()</a>, <a class="el" href="classArServerUserInfo.html#a37d5f2dea39ea96eadd406aa92b29f29">matchUserPassword()</a>, <a class="el" href="classArServerUserInfo.html#a44558263a89c9482c4da7deacb9c236e">readFile()</a>, and <a class="el" href="classArServerUserInfo.html#aae8853a452546b65793b514a9c25e753">v1UserCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a3d945b840dcbd17ba7e70e030208aa74"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor1C.html">ArRetFunctor1C</a>&lt;bool, <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> *&gt; ArServerUserInfo::myV1DoNotUseCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerUserInfo.html#aa809f074294aabeaa1a52b7d870beb0c">v1HeaderCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a6a1501fa978a0841f3a68a0fffac591f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor1C.html">ArRetFunctor1C</a>&lt;bool, <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> *&gt; ArServerUserInfo::myV1HeaderCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a44558263a89c9482c4da7deacb9c236e">readFile()</a>, and <a class="el" href="classArServerUserInfo.html#a0680cb3ba9bd62afede7c9d8e60611e5">removeHandlers()</a>.</p>

</div>
</div>
<a class="anchor" id="ad2bfde5e78bdfff789309c41c76f270d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor1C.html">ArRetFunctor1C</a>&lt;bool, <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArArgumentBuilder.html">ArArgumentBuilder</a> *&gt; ArServerUserInfo::myV1UserCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerUserInfo.html#a0680cb3ba9bd62afede7c9d8e60611e5">removeHandlers()</a>, and <a class="el" href="classArServerUserInfo.html#aa809f074294aabeaa1a52b7d870beb0c">v1HeaderCallback()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ArServerUserInfo_8h.html">ArServerUserInfo.h</a></li>
<li><a class="el" href="ArServerUserInfo_8cpp.html">ArServerUserInfo.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
